package com.yami.shop.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.yami.shop.bean.enums.BehaviorTypeEnum;
import com.yami.shop.bean.model.UserBehavior;

import java.util.List;
import java.util.Map;

/**
 * @author DELL
 */
/**
 * 用户行为服务接口，提供用户行为日志的记录功能
 * <p>继承自通用服务接口，泛型类型为UserBehavior实体</p>
 */
public interface UserBehaviorService extends IService<UserBehavior> {
    /**
     * 记录用户行为（如浏览商品）
     * @param userId 用户唯一标识符，非空
     * @param itemId 操作的目标商品ID，非空
     */
     void logUserAction(String userId, Long itemId);

    /**
     * 批量记录用户行为（优化性能）
     * <p>使用Map结构批量提交用户行为数据，适用于高并发场景下的批量插入优化</p>
     * @param userItemMap 用户-商品映射集合，数据结构说明：
     *                    <ul>
     *                    <li>键（Key）：用户ID，非空</li>
     *                    <li>值（Value）：该用户操作的商品ID列表，非空且至少包含一个元素</li>
     *                    </ul>
     */
     void batchLogUserActions(Map<String, List<Long>> userItemMap);

    }
